From: Per Bilse Date: Tue, 20 Dec 2022 12:45:38 +0000 (+0100) Subject: ioreq_broadcast(): accept partial broadcast success X-Git-Tag: archive/raspbian/4.17.1+2-gb773c48e36-1+rpi1~1^2~57^2~17 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=c3e37c60fbf8f8cd71db0f0846c9c7aeadf02963;p=xen.git ioreq_broadcast(): accept partial broadcast success Avoid incorrectly triggering an error when a broadcast buffered ioreq is not handled by all registered clients, as long as the failure is strictly because the client doesn't handle buffered ioreqs. Signed-off-by: Per Bilse Reviewed-by: Paul Durrant master commit: a44734df6c24fadbdb001f051cc5580c467caf7d master date: 2022-12-07 12:17:30 +0100 --- diff --git a/xen/common/ioreq.c b/xen/common/ioreq.c index 4617aef29b..ecb8f545e1 100644 --- a/xen/common/ioreq.c +++ b/xen/common/ioreq.c @@ -1317,7 +1317,8 @@ unsigned int ioreq_broadcast(ioreq_t *p, bool buffered) FOR_EACH_IOREQ_SERVER(d, id, s) { - if ( !s->enabled ) + if ( !s->enabled || + (buffered && s->bufioreq_handling == HVM_IOREQSRV_BUFIOREQ_OFF) ) continue; if ( ioreq_send(s, p, buffered) == IOREQ_STATUS_UNHANDLED )